docs: cherry-pick #211 (Update docs version for 0.3.0) into r0.3.0#216
Conversation
* docs: Update docs version for 0.3.0 Signed-off-by: Charlie Truong <chtruong@nvidia.com> * Add release docs workflow Signed-off-by: Charlie Truong <chtruong@nvidia.com> --------- Signed-off-by: Charlie Truong <chtruong@nvidia.com>
Greptile SummaryThis cherry-pick brings the
Confidence Score: 3/5The workflow will likely fail on first real use due to missing secret forwarding to the build step, and the version gap between build and publish template pins introduces two independent failure points before any docs reach production. The .github/workflows/release-docs.yml needs attention for the missing Important Files Changed
Sequence DiagramsequenceDiagram
participant Trigger as workflow_dispatch / workflow_call
participant BuildDocs as build-docs job (FW-CI-templates v0.67.0)
participant PublishDocs as publish-docs job (FW-CI-templates v0.74.0)
participant Akamai as Akamai CDN
participant S3 as AWS S3
Trigger->>BuildDocs: "inputs.github-ref, sync-all=true"
Note over BuildDocs: Calls _build_docs.yml@v0.67.0 - No secrets: inherit
BuildDocs-->>BuildDocs: Produces docs-html artifact
BuildDocs->>PublishDocs: artifact: docs-html
PublishDocs->>PublishDocs: "checkout FW-CI-templates@v0.74.0"
PublishDocs->>PublishDocs: invoke publish-docs action
PublishDocs->>S3: Upload to nemo/emerging-optimizers
PublishDocs->>Akamai: Sync to versioned or latest directory
Note over PublishDocs: run-on-version-tag-only = (github.ref_name != 'main')
Reviews (1): Last reviewed commit: "docs: Update docs version for 0.3.0 (#21..." | Re-trigger Greptile |
| build-docs: | ||
| uses: NVIDIA-NeMo/FW-CI-templates/.github/workflows/_build_docs.yml@v0.67.0 | ||
| with: | ||
| ref: ${{ inputs.github-ref }} | ||
| sync-all: true |
There was a problem hiding this comment.
Missing
secrets: inherit on build-docs workflow call
The build-docs job calls _build_docs.yml@v0.67.0 without forwarding secrets. Reusable workflow calls receive no secrets unless secrets: inherit (or explicit secrets: mapping) is specified. If _build_docs.yml needs any credentials — e.g., to pull from a private registry, authenticate with a sync endpoint, or access artifact storage — every run will silently fail or receive a permissions error at that step, while the calling workflow reports the overall job as failed without an obvious root cause.
| uses: NVIDIA-NeMo/FW-CI-templates/.github/workflows/_build_docs.yml@v0.67.0 | ||
| with: | ||
| ref: ${{ inputs.github-ref }} | ||
| sync-all: true | ||
|
|
||
| publish-docs: | ||
| runs-on: ubuntu-latest | ||
| needs: [build-docs] | ||
| steps: | ||
| - uses: actions/checkout@v6 | ||
| with: | ||
| repository: NVIDIA-NeMo/FW-CI-templates | ||
| ref: v0.74.0 | ||
| path: FW-CI-templates |
There was a problem hiding this comment.
FW-CI-templates version mismatch between build and publish steps
build-docs pins FW-CI-templates at v0.67.0 while publish-docs checks out and uses the action at v0.74.0 — a gap of 7 minor releases. If the docs-html artifact schema, directory layout, or metadata format changed between these versions, the publish-docs action may fail to locate expected files or produce a corrupt deployment. Both jobs should pin to the same version of FW-CI-templates to guarantee a consistent contract between build output and publish input.
| publish-as-latest: | ||
| description: Publish as Latest stable version. | ||
| required: false | ||
| type: boolean | ||
| default: true |
There was a problem hiding this comment.
publish-as-latest defaults to true on a release branch
With dry-run defaulting to true this is safe during testing, but if a maintainer disables dry-run without also toggling publish-as-latest, a release-branch dispatch will overwrite the canonical "latest" docs pointer. Defaulting to false and requiring an explicit opt-in is safer for a branch workflow like this one.
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
Cherry-pick of #211 (merge commit `41d3ea4`, "docs: Update docs version for 0.3.0") from `main` into the `r0.3.0` release branch.
Contents
Only the net-new `.github/workflows/release-docs.yml` applies here — the `docs/project.json` and `docs/versions1.json` hunks from #211 were already present on `r0.3.0`, so the cherry-pick brought just the release-docs workflow.
Original author/sign-off preserved (Charlie Truong).
🤖 Generated with Claude Code